#ifndef BIBSTYLE_HPP
#define BIBSTYLE_HPP

/*! \file bibstyle.hpp
 *
 *  \brief Definicja klasy BibStyle.
 *
 *  Plik zawiera definicję klasy BibStyle.
 *  Przechowuje ona bibliotekę stylów oraz
 *  zawiera metody do jej obsługi.
 *
 *  \author Karol Kurpanik
 *  \date 2011.04.04
 *  \version 2.20.2
 */

#include <vector>

#include "chartstyle.hpp"

/*! \class BibStyle
 *
 *  \brief Przechowuje bibliotekę stylów.
 *
 *  Klasa zawiera bibliotekę stylów. Jedynym atrybutem tej klasy
 *  jest lista zawierająca zdefiniowane style. Aby utworzyć
 *  obiekt tej klasy, należy skorzystać z metod klasy ChartStyleFactory.
 */

class BibStyle
{
public:
    /*!
     * \brief Destruktor klasy BibStyle.
     *
     * Zwalnia pamięć zajętą przez wskaźniki z listy BibStyle::_styles.
     * \return void.
     */
    ~BibStyle();

    /*!
     * \brief Ustawia wartość pola BibStyle::_styles
     *
     * Metoda pozwala na przypisanie obiektowi klasy BibStyle konkretnej
     * biblioteki stylów.
     * \param styles - wektor wskaźników na obiekty klasy ChartStyle,
     * może być wektorem zerowym.
     * \return void.
     */
    inline void setStyles(std::vector<ChartStyle*> styles){this->_styles=styles;}

    /*!
    * \brief Przechowuje zdefiniowane style.
    *
    * Pole zawiera listę stylów będących wskaźnikami na obiekty klasy ChartStyle.
    * Może być wektorem o zerowej długości.
    */
    std::vector<ChartStyle*> _styles;
};

#endif // BIBSTYLE_HPP
